Modern integrated circuits typically include a set of modularized integrated circuit (IC) designs, or pre-verified cores, for a system-on-a-chip (SoC). A typical SOC includes multiple types of IC designs on a single semiconductor die. A typical SOC therefore includes complex data flows and multiple cores such as central processing units (CPUs), digital signal processors (DSPs), direct memory access (DMA), and peripherals. Chip development typically includes a verification phase for determining whether a design works as expected, including resource sharing. Accordingly, in a SoC design, functions of both the individual cores as they are developed and of the cores interconnected as a system must be verified.
During development of an IC processor, one or more test cases are provided that specify a set of initial values for the registers a set of instructions for the processor to execute. The processor is then simulated by a simulator, which simulates the processor's execution of instructions within each test case to verify correct operation of the processor.